In today's datacenter environments, many different types of resources are present, from switches and routing devices that couple incoming communication traffic from the Internet to load balancers or other equipment that in turn couples the traffic to a destination resource such as a server. In turn the servers can further be connected to other datacenter equipment, such as data storage equipment.
In a multi-tenant datacenter, various resources can be dedicated to a particular customer of the datacenter. Other computing models provide for so-called cloud resources that are flexibly allocated to datacenter customers, e.g., depending on customer needs. In general when equipment is allocated to a customer, it is first required to be installed into a datacenter location such as a rack-based cabinet. Then, various connections can be made to the resource. After these operations the underlying resource, e.g., a server, is then allocated to the given customer.
Oftentimes, a customer will have various clusters including compute clusters which include multiple servers or other computing devices, storage clusters which can include storage devices, load balancer clusters and so forth. Each of these clusters is dedicated to a particular type of resource and is controlled by cluster management software that is focused solely on this single function without consideration to any entity external to this function.
While a customer obtains the desired resources, there is much manual intervention to allocate the resources to the customer. In addition, it is difficult to reallocate resources to different customers. Furthermore, given the single function nature of clusters, certain difficulties arise between resources of different cluster types.